/*************************************************************************
    > File Name: hdir.h
    > Author: 侯广臣
    > Mail: 2801059691@qq.com 
    > Created Time: 2020年11月25日 星期三 14时35分58秒
 ************************************************************************/

#ifndef _HDIR_H_
#define _HDIR_H_


#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <string.h>

//创建指定目录，如果没有上级目录则创建上级目录，成功返回0，失败返回-1
int Mkdir(const char *dirName, mode_t mode);

//创建指定目录，成功返回0失败-1
int Mkdir(const char *dirName, mode_t mode)
{
	if(access(dirName, F_OK) == 0){
		return 0;
	}
	if(mkdir(dirName, mode) == 0){
		return 0;
	}
	char dirn[128];
	memset(dirn, 0, 128);
	strcpy(dirn, dirName);
	int slen = strlen(dirn);
	for(int i = 1; i < slen; i++){
		if(dirn[i] == '/'){
			dirn[i] = '\0';
			if(access(dirn, F_OK) == -1){
				mkdir(dirn, mode);
			}
			dirn[i] = '/';
		}
	}
	return mkdir(dirName, mode);
}




#endif
